popover menu: Add our own activate key bindings
authorMatthias Clasen <mclasen@redhat.com>
Wed, 12 Jun 2019 16:55:43 +0000 (16:55 +0000)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 13 Jun 2019 01:50:08 +0000 (21:50 -0400)
This solves issues with parent widgets, like combobox
or entry, installing their own bindings for these
keys, overriding the activation behavior that
is implemented in gtkwindow.

gtk/gtkpopovermenu.c

index 5b3fa927a16b732c04faeedcbe02a7399759c9fe..93a0ba89532908c497ce51ef7b85280ec2ea348b 100644 (file)
@@ -381,6 +381,17 @@ gtk_popover_menu_class_init (GtkPopoverMenuClass *klass)
   add_tab_bindings (binding_set, GDK_CONTROL_MASK, GTK_DIR_TAB_FORWARD);
   add_tab_bindings (binding_set, GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);
   add_tab_bindings (binding_set, GDK_CONTROL_MASK | GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);
+
+  gtk_binding_entry_add_signal (binding_set, GDK_KEY_Return, 0,
+                                "activate-default", 0);
+  gtk_binding_entry_add_signal (binding_set, GDK_KEY_ISO_Enter, 0,
+                                "activate-default", 0);
+  gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Enter, 0,
+                                "activate-default", 0);
+  gtk_binding_entry_add_signal (binding_set, GDK_KEY_space, 0,
+                                "activate-default", 0);
+  gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Space, 0,
+                                "activate-default", 0);
 }
 
 /**